package com.zjkj.mp.dao.message;

import java.util.Map;

import com.zjkj.mp.utils.PaginatedResult;
import com.zjkj.mp.vo.Logger;
import com.zjkj.mp.vo.message.Message;
import com.zjkj.mp.vo.message.MessageMx;

/**
 * 
 * main主界面操作
 * 
 * @author 陈晨
 * @history <TABLE id="HistoryTable" border="1">
 *          <TR>
 *          <TD>时间</TD>
 *          <TD>描述</TD>
 *          <TD>作者</TD>
 *          </TR>
 *          <TR>
 *          <TD>2013-6-6</TD>
 *          <TD>创建初始版本</TD>
 *          <TD>陈晨</TD>
 *          </TR>
 *          </TABLE>
 */
public interface MessageDao {

	public void insertLogger(Logger logger);

	public void insertMessageMx(MessageMx mx);

	public void insertMessage(Message msg);

	public void updateMessage(Message msg);

	/**
	 * 取出待发送信息列表
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param params
	 *            查询参数，如果为空，则为取出所有状态的信息
	 * @return
	 */
	public PaginatedResult getList(int pageNo, int pageSize,
			Map<String, Object> params);

	/**
	 * 更新消息状态
	 * 
	 * @param fsId
	 * @param newState
	 */
	public void updateMessageState(String fsId, String newState);

	/**
	 * 查询发送成功的短信数
	 * @param fsId
	 * @param num
	 * @return
	 */
	public int searchMessageCount(String fsId);

	/**
	 * 更新发送后短信的条数
	 * @param totalCount
	 */
	public void updateMessageCount(long totalCount, int userId);
	
}
